﻿using System;
using Mono.Cecil.Metadata;

namespace Mono.Cecil
{
	// Token: 0x020000BC RID: 188
	public sealed class PointerType : TypeSpecification
	{
		// Token: 0x17000211 RID: 529
		// (get) Token: 0x060007C3 RID: 1987 RVA: 0x00023960 File Offset: 0x00021B60
		public override string Name
		{
			get
			{
				return base.Name + "*";
			}
		}

		// Token: 0x17000212 RID: 530
		// (get) Token: 0x060007C4 RID: 1988 RVA: 0x00023984 File Offset: 0x00021B84
		public override string FullName
		{
			get
			{
				return base.FullName + "*";
			}
		}

		// Token: 0x17000213 RID: 531
		// (get) Token: 0x060007C5 RID: 1989 RVA: 0x00009C40 File Offset: 0x00007E40
		// (set) Token: 0x060007C6 RID: 1990 RVA: 0x00002AA0 File Offset: 0x00000CA0
		public override bool IsValueType
		{
			get
			{
				return false;
			}
			set
			{
				throw new InvalidOperationException();
			}
		}

		// Token: 0x17000214 RID: 532
		// (get) Token: 0x060007C7 RID: 1991 RVA: 0x0000A3A0 File Offset: 0x000085A0
		public override bool IsPointer
		{
			get
			{
				return true;
			}
		}

		// Token: 0x060007C8 RID: 1992 RVA: 0x00004D17 File Offset: 0x00002F17
		public PointerType(TypeReference type) : base(type)
		{
			Mixin.CheckType(type);
			this.etype = Mono.Cecil.Metadata.ElementType.Ptr;
		}
	}
}
